-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate JedisPoolAbstract #2361
Merged
Merged
+49
−61
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
JedisPoolAbstract itself was doing nothing except acting as access point of Pool<Jedis> from redis.clients.jedis package. Using Pool<Jedis> directly seems better.
sazzad16
force-pushed
the
pool-abstract-bc
branch
from
February 7, 2021 11:05
cce5a49
to
cf794fc
Compare
sazzad16
commented
Feb 7, 2021
yangbodong22011
approved these changes
Feb 7, 2021
gkorland
approved these changes
Feb 7, 2021
j-sandy
added a commit
to j-sandy/kork
that referenced
this pull request
Oct 18, 2022
… 2.5.14 While upgrading the spring-boot, the compilation of kork-jedis module failed with following error: ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2652: error: slowlogGetBinary(long) in InstrumentedJedis cannot implement slowlogGetBinary(long) in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary(long entries) { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2646: error: slowlogGetBinary() in InstrumentedJedis cannot implement slowlogGetBinary() in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary() { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2645: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2648: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary()); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2651: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2654: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary(entries)); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) ``` ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:84: error: name clash: initPool(GenericObjectPoolConfig,PooledObjectFactory<Jedis>) in InstrumentedJedisPool and initPool(GenericObjectPoolConfig<Jedis>,PooledObjectFactory<Jedis>) in Pool have the same erasure, yet neither overrides the other public void initPool(GenericObjectPoolConfig poolConfig, PooledObjectFactory<Jedis> factory) { ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:83: error: method does not override or implement a method from a supertype @OverRide ``` The root cause is the upgrade of redis.clients:jedis from 3.3.0 to 3.6.3 as transitive dependency of spring-boot, that brings the breaking changes in APIs as mentioned below: redis/jedis#2084 redis/jedis#2361 Fixed the issue with required code changes.
j-sandy
added a commit
to j-sandy/kork
that referenced
this pull request
Mar 30, 2023
… 2.5.14 While upgrading the spring-boot, the compilation of kork-jedis module failed with following error: ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2652: error: slowlogGetBinary(long) in InstrumentedJedis cannot implement slowlogGetBinary(long) in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary(long entries) { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2646: error: slowlogGetBinary() in InstrumentedJedis cannot implement slowlogGetBinary() in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary() { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2645: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2648: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary()); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2651: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2654: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary(entries)); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) ``` ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:84: error: name clash: initPool(GenericObjectPoolConfig,PooledObjectFactory<Jedis>) in InstrumentedJedisPool and initPool(GenericObjectPoolConfig<Jedis>,PooledObjectFactory<Jedis>) in Pool have the same erasure, yet neither overrides the other public void initPool(GenericObjectPoolConfig poolConfig, PooledObjectFactory<Jedis> factory) { ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:83: error: method does not override or implement a method from a supertype @OverRide ``` The root cause is the upgrade of redis.clients:jedis from 3.3.0 to 3.6.3 as transitive dependency of spring-boot, that brings the breaking changes in APIs as mentioned below: redis/jedis#2084 redis/jedis#2361 Fixed the issue with required code changes.
j-sandy
added a commit
to j-sandy/kork
that referenced
this pull request
Mar 31, 2023
… 2.5.14 While upgrading the spring-boot, the compilation of kork-jedis module failed with following error: ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2652: error: slowlogGetBinary(long) in InstrumentedJedis cannot implement slowlogGetBinary(long) in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary(long entries) { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2646: error: slowlogGetBinary() in InstrumentedJedis cannot implement slowlogGetBinary() in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary() { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2645: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2648: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary()); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2651: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2654: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary(entries)); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) ``` ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:84: error: name clash: initPool(GenericObjectPoolConfig,PooledObjectFactory<Jedis>) in InstrumentedJedisPool and initPool(GenericObjectPoolConfig<Jedis>,PooledObjectFactory<Jedis>) in Pool have the same erasure, yet neither overrides the other public void initPool(GenericObjectPoolConfig poolConfig, PooledObjectFactory<Jedis> factory) { ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:83: error: method does not override or implement a method from a supertype @OverRide ``` The root cause is the upgrade of redis.clients:jedis from 3.3.0 to 3.6.3 as transitive dependency of spring-boot, that brings the breaking changes in APIs as mentioned below: redis/jedis#2084 redis/jedis#2361 Fixed the issue with required code changes.
j-sandy
added a commit
to j-sandy/kork
that referenced
this pull request
Mar 31, 2023
… 2.5.14 While upgrading the spring-boot, the compilation of kork-jedis module failed with following error: ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2652: error: slowlogGetBinary(long) in InstrumentedJedis cannot implement slowlogGetBinary(long) in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary(long entries) { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2646: error: slowlogGetBinary() in InstrumentedJedis cannot implement slowlogGetBinary() in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary() { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2645: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2648: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary()); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2651: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2654: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary(entries)); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) ``` ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:84: error: name clash: initPool(GenericObjectPoolConfig,PooledObjectFactory<Jedis>) in InstrumentedJedisPool and initPool(GenericObjectPoolConfig<Jedis>,PooledObjectFactory<Jedis>) in Pool have the same erasure, yet neither overrides the other public void initPool(GenericObjectPoolConfig poolConfig, PooledObjectFactory<Jedis> factory) { ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:83: error: method does not override or implement a method from a supertype @OverRide ``` The root cause is the upgrade of redis.clients:jedis from 3.3.0 to 3.6.3 as transitive dependency of spring-boot, that brings the breaking changes in APIs as mentioned below: redis/jedis#2084 redis/jedis#2361 Fixed the issue with required code changes.
mergify bot
pushed a commit
to spinnaker/kork
that referenced
this pull request
Mar 31, 2023
* chore(dependencies): Upgrade Spring Boot to 2.5.14 * fix(dependency): Issue with kork-jedis while upgrading spring-boot to 2.5.14 While upgrading the spring-boot, the compilation of kork-jedis module failed with following error: ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2652: error: slowlogGetBinary(long) in InstrumentedJedis cannot implement slowlogGetBinary(long) in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary(long entries) { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2646: error: slowlogGetBinary() in InstrumentedJedis cannot implement slowlogGetBinary() in AdvancedBinaryJedisCommands public List<byte[]> slowlogGetBinary() { ^ return type List<byte[]> is not compatible with List<Object> /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2645: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2648: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary()); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2651: error: method does not override or implement a method from a supertype @OverRide ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedis.java:2654: error: incompatible types: inference variable T has incompatible bounds return instrumented(command, () -> delegated.slowlogGetBinary(entries)); ^ lower bounds: List<byte[]>,Object lower bounds: List<Object> where T is a type-variable: T extends Object declared in method <T>instrumented(String,Callable<T>) ``` ``` > Task :kork-jedis:compileJava FAILED /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:84: error: name clash: initPool(GenericObjectPoolConfig,PooledObjectFactory<Jedis>) in InstrumentedJedisPool and initPool(GenericObjectPoolConfig<Jedis>,PooledObjectFactory<Jedis>) in Pool have the same erasure, yet neither overrides the other public void initPool(GenericObjectPoolConfig poolConfig, PooledObjectFactory<Jedis> factory) { ^ /kork/kork-jedis/src/main/java/com/netflix/spinnaker/kork/jedis/telemetry/InstrumentedJedisPool.java:83: error: method does not override or implement a method from a supertype @OverRide ``` The root cause is the upgrade of redis.clients:jedis from 3.3.0 to 3.6.3 as transitive dependency of spring-boot, that brings the breaking changes in APIs as mentioned below: redis/jedis#2084 redis/jedis#2361 Fixed the issue with required code changes. * fix(dependency): Issue with kork-web while upgrading spring-boot to 2.5.14 While upgrading the spring-boot, the compilation of kork-web module failed with following error: ``` > Task :kork-web:compileGroovy FAILED /kork/kork-web/src/main/java/com/netflix/spinnaker/kork/web/controllers/GenericErrorController.java:41: error: incompatible types: Boolean cannot be converted to ErrorAttributeOptions errorAttributes.getErrorAttributes(webRequest, includeStackTrace); ^ ``` ``` /kork/kork-web/src/main/java/com/netflix/spinnaker/kork/web/controllers/GenericErrorController.java:51: error: method does not override or implement a method from a supertype @OverRide ^ ``` ``` > Task :kork-web:compileGroovy /kork/kork-web/src/main/java/com/netflix/spinnaker/kork/web/selector/v2/SelectableService.java uses unchecked or unsafe operations. startup failed: /kork/kork-web/src/main/groovy/com/netflix/spinnaker/config/ErrorConfiguration.groovy: 37: Method 'getErrorAttributes' from class 'com.netflix.spinnaker.config.ErrorConfiguration$1' does not override method from its superclass or interfaces but is annotated with @OverRide. @ line 37, column 7. @OverRide ^ ``` The root cause is the deprecation of following methods in Spring boot 2.3.x and now removal of code from spring boot 2.5.x: ErrorAttributes.getErrorAttributes(ServerRequest, boolean) spring-projects/spring-boot@158933c spring-projects/spring-boot#21324 ErrorController.getErrorPath() spring-projects/spring-boot#19844 Fixed the issue with required code changes. * chore (dependency): pinning the io.rest-assured to 4.2.0 Spring boot 2.5.14 upgrade brings io.rest-assured 4.3.3 as transitive dependency. io.rest-assured 4.3.x require groovy 3.0.2. So, pinning the nearest version using groovy 2.x. After upgrading the groovy to 3.x, pin can be removed. [https://github.com/rest-assured/rest-assured/blob/9b683130c93188cabdef850e89d0c9417d847a17/changelog.txt#L200] * chore(dependency): pinning ch.qos.logback to 1.2.10 Spring boot 2.5.14 upgrade brings ch.qos.logback 1.2.11 as transitive dependency. A bug is reported in 1.2.11 [https://jira.qos.ch/browse/LOGBACK-1623] and it is fixed in 1.2.12. However the 1.2.12 package has not been released yet. So, pinning the version to 1.2.10 untill required package is released. * chore(dependency): Pinning groovy to 2.5.15 with spring boot 2.5.x upgrade Spring boot 2.5.x brings groovy 3.x as its transitive dependency. https://docs.spring.io/spring-boot/docs/2.5.14/reference/html/dependency-versions.html#appendix.dependency-versions Currently spinnaker services use gradle 6.x, that does not support groovy 3.x. https://docs.gradle.org/6.8.1/userguide/compatibility.html Restricting groovy to 2.5.x, till upgrade of gradle to 7.x. https://docs.gradle.org/current/userguide/resolution_rules.html#sec:denying_version To avoid transitive upgrade of groovy, pinning it with enforcedPlatform() closure. It forces version for internal submodules of kork as well as for all the consumer spinnaker services. * chore(dependency): pin org.liquibase to 3.10.3 While upgrading spring boot 2.5.x, liquibase version transitively upgrades to 4.3.5. The liquibase version starting from 4.0.0 till 4.12.0 has an [issue](liquibase/liquibase#2818) w.r.t parsing the changelog file, if found at multiple places within the classpath and encounter the below error: ``` Caused by: liquibase.exception.ChangeLogParseException: Error parsing classpath:db/healthcheck.yml at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:89) at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:369) at liquibase.Liquibase.lambda$update$1(Liquibase.java:224) at liquibase.Scope.lambda$child$0(Scope.java:180) at liquibase.Scope.child(Scope.java:189) at liquibase.Scope.child(Scope.java:179) at liquibase.Scope.child(Scope.java:158) at liquibase.Liquibase.runInScope(Liquibase.java:2405) at liquibase.Liquibase.update(Liquibase.java:211) at liquibase.Liquibase.update(Liquibase.java:197) at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:314) at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:269) at com.netflix.spinnaker.kork.sql.migration.SpringLiquibaseProxy.afterPropertiesSet(SpringLiquibaseProxy.kt:65) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1858) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1795) ... 87 more Caused by: java.io.IOException: Found 2 files that match classpath:db/healthcheck.yml: file:/spinnaker/kork/kork-sql/build/resources/main/db/healthcheck.yml, jar:file:/spinnaker/kork/kork-sql/build/libs/kork-sql.jar!/db/healthcheck.yml at liquibase.resource.AbstractResourceAccessor.openStream(AbstractResourceAccessor.java:25) at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:25) ... 101 more ``` This duplicate changelog issue is fixed in 4.13.0, but identified another issue that gets introduced in 4.13.0. This [issue](liquibase/liquibase#3091) hinders the migration of sql scripts available in [orca](https://github.com/spinnaker/orca/tree/master/orca-sql/src/main/resources/db/changelog), containing `afterColumn`, with a validation error for postgresql. The efforts to resolve the issue are in progress, so pinning the version of org.liquibase:liquibase-core to 3.10.3 (latest of 3.x series).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.